package com.ruoyi.system.api;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.factory.RemoteQYLoginFallbackFactory;
import com.ruoyi.system.api.factory.RemoteQYUserFallbackFactory;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.HashMap;
import java.util.List;

/**
 * 企业微信接口
 *
 * @author ruoyi
 */
@FeignClient(contextId = "remoteQYUserService",url = "${go_wx_url}", fallbackFactory = RemoteQYUserFallbackFactory.class)
public interface RemoteQYUserService
{
    /**
     * 获取当前帐号信息
     */
    @PostMapping(value = "/user/get_profile", consumes = MediaType.APPLICATION_JSON_VALUE,
            produces = MediaType.APPLICATION_JSON_VALUE)
     String get_profile(@RequestBody HashMap<String, List<HashMap<String,Object>>>  map);
    /**
     *获取当前帐号公司信息
     */
    @PostMapping(value = "/user/get_corp_info", consumes = MediaType.APPLICATION_JSON_VALUE,
            produces = MediaType.APPLICATION_JSON_VALUE)
     String get_corp_info(@RequestBody HashMap<String, List<HashMap<String,Object>>>  map);
  /**
     * 登出
     */
    @PostMapping(value = "/user/logout", consumes = MediaType.APPLICATION_JSON_VALUE,
            produces = MediaType.APPLICATION_JSON_VALUE)
     String logout(@RequestBody HashMap<String, List<HashMap<String,Object>>>  map);

  /**
     * 获取二维码名片 (新)
     */
    @PostMapping(value = "/user/get_qrcode_card_new", consumes = MediaType.APPLICATION_JSON_VALUE,
            produces = MediaType.APPLICATION_JSON_VALUE)
     String get_qrcode_card_new(@RequestBody HashMap<String, List<HashMap<String,Object>>>  map);
 /**
     *获取绑定的微信信息
     */
    @PostMapping(value = "/user/get_bind_wxinfo", consumes = MediaType.APPLICATION_JSON_VALUE,
            produces = MediaType.APPLICATION_JSON_VALUE)
     String get_bind_wxinfo(@RequestBody HashMap<String, List<HashMap<String,Object>>>  map);


}
